package com.zsrt.client;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

/**
 * 使用Socket进行通信 传输层
 * 在客户端输入小写的 scott 服务端返回大写的SCOTT
 * @author scott
 *
 */
public class Client {
	
	
	public static void main(String[] args) throws Exception {
		
		//1 从键盘得到输入的小写的字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入要转化的小写字母:");
		
		String data = sc.next();
		sc.close();
		
		//2 实例化socket
		Socket socket = new Socket("127.0.0.1",8888);
		
		//3得到输出流并发送到服务端
		OutputStream os = socket.getOutputStream();
		os.write(data.getBytes());
		
		System.out.println("等待服务器端返回数据...");
		
		
		//4 拿到输入流  这个方法会阻塞 也就是输如果服务端没有返回就一直在等
		InputStream is = socket.getInputStream();
		
		//从流is中读取数据  把读取到的数据保存在数组b中
		byte[] b=new byte[1024];
		int len=is.read(b);
		
		//服务端返回的数据
		String responseData  = new String(b,0,len); 
		System.out.println("返回的结果为:"+responseData);
		
		//关闭资源
		is.close();
		os.close();
		socket.close();
	}

}
